package com.lumlord.common.annotation.mybatis;

import java.lang.annotation.*;


/**
 * 
 * @author gpf
 * 
 * 对mybatis实体操作。应用于实例化、修改数据 如 addTime 默认值。 addUser默认值。 updateTime  等。。数据注入
 *  包含逻辑删除类型
 *
 */

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SqlInjection {
	/**
	 * 注入类型 包含 添加、删除、修改、查询 的注入。
	 * 默认表示全部。如 根据 项目id 操作 涉及到 所有类型数据库操作。 
	 * @return
	 */
	SqlInjectionType[] types() default {};
	
	/**
	 * 定义列名取值，与types对应
	 * 包含。
	 * DATE,//日期格式
     * USER,//注入用户
     * DEF, //默认值
     * PROJECT //项目
	 * @return
	 */
	SqlInjectionColumn column() default SqlInjectionColumn.DEF;
	
	/**
	 * 默认值 优先级别 高于column
	 * @return
	 */
	String defval() default "";
}
